package com.aishua.fire.service;

import java.util.List;
import java.util.Map;
import com.aishua.fire.entity.account.AccountBatchInfo;
import com.aishua.fire.mapper.dto.AccteamList;
import com.aishua.fire.entity.account.AddAccountInfo;
import com.aishua.fire.entity.account.UpdateAccountInfo;
import com.aishua.fire.mapper.dto.AccountData;
import com.aishua.fire.jpa.entity.Account;
import com.aishua.fire.mapper.dto.AccountList;

public interface AccountService {

	//保存数据
	public String save(AddAccountInfo loginAccount);
	
	//查找用户通过id
	public Account findAccountId(String loginId);
	
	//删除账户信息
	public void deleteAccount(String loginId);

	//修改账户信息
	public boolean update(UpdateAccountInfo loginAccount);
	
	//通过name和url进行分页列表查询
	public List<AccountList> searchList(String aliasName, String phone, int pageNumber, int pageSize);

	//通过账户组id查询账户列表
	public List<AccteamList> getAccountListByAteamId(final String ateamId,final Long loginId,final String userName);
	
	//批量删除
	public void deleteAccountBatch(AccountBatchInfo accountBatchInfo);
	
	//根据用户名loginId查询userName
	Long findLoginIdByUserName(Long loginId,String userName);
	
	//软删除
	public void softDelete(AccountBatchInfo accountBatchInfo);
	
	//修改密码
	Integer modifypwd(String password,String loginId);
	
	//获取账户表id,name和供应商表id,name
	Map<String, Object> getAccountteamAndSupplier();
	
	//禁止用户
	void forbidAccount(String loginId);
	
	//恢复用户
	void huiFuAccount(String loginId);

	//获取账户列表
	public List<AccountData> getMsgAccounts();

	/**
	 * 查询账号列表数量
	 * @param username
	 * @param phone
	 * @return
	 */
	public int listTotal(String username, String phone);
		
}
